Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[FUNKCJA] cmdchat()


Rekomendowane odpowiedzi

Opublikowano

Witajcie,

 

Poszukuję drobnego example i składni funkcji "metinowego lua", jaką jest cmdchat().

Z tego co słyszałem wywołuje to konkretną funkcję / przekazuje wartość na zmienną w konkretnym skrypcie pythona znajdującym się w cliencie.

Jeśli ktoś stosował tą funkcję na dłuższą metę i byłby na tyle miły by podać przykładowe example i składnie, byłbym wdzięczny.

 

 

Pozdrawiam.

1377371138-U1002370.png

Opublikowano

Hej,

 

funkcja cmdchat(string;) wywołuję wydarzenie z listy __ServerCommand_Build() (root -> game.py), które jest do niego przypisane pod wywołaną nazwą z cmdchat().

Przykładowo wywołujemy cmdchat("OpenPrivateShop") to w kliencie wywoła nam z __ServerCommand_Build() wydarzenie __PrivateShop_Open().

Możemy teraz się bawić w ten sposób, robiąc różnie okna dialogowe, wywoływać informację itd.. ;)

50596142255057180250.png

Opublikowano

Hej,

 

funkcja cmdchat(string;) wywołuję wydarzenie z listy __ServerCommand_Build() (root -> game.py), które jest do niego przypisane pod wywołaną nazwą z cmdchat().

Przykładowo wywołujemy cmdchat("OpenPrivateShop") to w kliencie wywoła nam z __ServerCommand_Build() wydarzenie __PrivateShop_Open().

Możemy teraz się bawić w ten sposób, robiąc różnie okna dialogowe, wywoływać informację itd.. ;)

 

Bardzo Ci dziękuję za konkretną odpowiedź, czy za pomocą tej funkcji da się też przekazać jakieś wartości? (Analizując niemiecki quest tak wywnioskowałem, lecz nie jestem pewny)

1377371138-U1002370.png

Opublikowano

Bardzo Ci dziękuję za konkretną odpowiedź, czy za pomocą tej funkcji da się też przekazać jakieś wartości? (Analizując niemiecki quest tak wywnioskowałem, lecz nie jestem pewny)

 

Tak, wartość można przekazać po spacji ale najlepiej w stringu. Przykładem może być wywołanie funkcji cmdchat("PanelGracza "..pc.get_name().."|".."pc.get_empire()).

Wygląda ona tak po wywołaniu z serwera: cmdchat("PanelGracza Nigahiga|3").

Przejmujemy ją w kliencie z __ServerCommand_Build() i przypisujemy jej wydarzenie np. OtworzPanelGracza. Wyglądało by to mniej więcej tak:

def __ServerCommand_Build(self):

erverCommandList={
"PanelGracza" : self.__OtworzPanelGracza,
}

 

I nasze wydarzenie (gdzieś niżej):

def __OtworzPanelGracza(self,dane):

tablica = dane.split("|") # tworzymy tablice gdzie div to właśnie przemyślana nasza kreska pionowa.
open('dane.txt', 'w').write('Twój nick: %s a numer królestwa to: %s' % (tablica[0],tablica[1])) # pokaz zapisania do pliku txt.

 

Myślę, że powinno zadziałać, ew. minimalne błędy językowe / składniowe mogły się pojawić. Pisałem z głowy.. ;)

Jak widać przekazałem zmienną i odczytałem ją.

50596142255057180250.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...